package _02List接口;

import java.util.*;

public class ListDemo {
	public static void main(String[] args) {

		// List鎺ュ彛

		// 鏈夊簭锛屽唴瀹瑰彲浠ラ噸澶�

//boolean add(E e) 
//        	鍚戝垪琛ㄧ殑灏鹃儴娣诲姞鎸囧畾鐨勫厓绱狅紙鍙�夋搷浣滐級銆�

//void    add(int index, E element) 
//        	鍦ㄥ垪琛ㄧ殑鎸囧畾浣嶇疆鎻掑叆鎸囧畾鍏冪礌锛堝彲閫夋搷浣滐級銆� 

//boolean addAll(Collection<? extends E> c) 
//        	娣诲姞鎸囧畾 collection 涓殑鎵�鏈夊厓绱犲埌姝ゅ垪琛ㄧ殑缁撳熬锛岄『搴忔槸鎸囧畾 collection 鐨勮凯浠ｅ櫒杩斿洖杩欎簺鍏冪礌鐨勯『搴忥紙鍙�夋搷浣滐級銆�

//boolean addAll(int index, Collection<? extends E> c) 
//        	灏嗘寚瀹� collection 涓殑鎵�鏈夊厓绱犻兘鎻掑叆鍒板垪琛ㄤ腑鐨勬寚瀹氫綅缃紙鍙�夋搷浣滐級銆� 

		List<String> l1 = new ArrayList<String>();
		l1.add("寮犱笁");
		l1.add("鏉庡洓");
		l1.add("鐜嬩簲");
		l1.add("璧靛叚");

		l1.add(0, "鏇规搷");
		l1.add(1, "鍒樺");

//E 	   remove(int index) 
//         	绉婚櫎鍒楄〃涓寚瀹氫綅缃殑鍏冪礌锛堝彲閫夋搷浣滐級銆� 
//         	
//boolean  remove(Object o) 
//         	浠庢鍒楄〃涓Щ闄ょ涓�娆″嚭鐜扮殑鎸囧畾鍏冪礌锛堝鏋滃瓨鍦級锛堝彲閫夋搷浣滐級銆� 
//         	
//boolean  removeAll(Collection<?> c) 
//         	浠庡垪琛ㄤ腑绉婚櫎鎸囧畾 collection 涓寘鍚殑鍏舵墍鏈夊厓绱狅紙鍙�夋搷浣滐級銆� 

		l1.remove(1);
		l1.remove("鏉庡洓");

		List<Integer> l2 = new ArrayList();
		l2.add(1);
		l2.add(2);
		l2.add(3);
		l2.add(5);

		// 鍒犻櫎绱㈠紩涓�2鐨勫厓绱�
		l2.remove(2);
		System.out.println(l2);
		// 鍒犻櫎Integer瀵硅薄2鐨勫厓绱�
		l2.remove(new Integer(2));
		System.out.println(l2);

		// 3. 閫氳繃涓嬫爣璁块棶鍏冪礌
		// get(int index)
		// 杩斿洖鍒楄〃涓寚瀹氫綅缃殑鍏冪礌銆�
		for (int i = 0; i < l2.size(); i++) {
			System.out.println(l2.get(i));
		}

		// 4. 璁剧疆鎸囧畾浣嶇疆鍏冪礌
//		set(int index, E element) 
//        鐢ㄦ寚瀹氬厓绱犳浛鎹㈠垪琛ㄤ腑鎸囧畾浣嶇疆鐨勫厓绱狅紙鍙�夋搷浣滐級銆�
		l2.set(1, 1000);
		System.out.println();

		// 5. 鏌ユ壘
		// int indexOf(Object o)
//        杩斿洖姝ゅ垪琛ㄤ腑绗竴娆″嚭鐜扮殑鎸囧畾鍏冪礌鐨勭储寮曪紱濡傛灉姝ゅ垪琛ㄤ笉鍖呭惈璇ュ厓绱狅紝鍒欒繑鍥� -1銆�

		List<String> l4 = new ArrayList<>();
		l4.add("寮犱笁");
		l4.add("鏉庡洓");
		l4.add("鐜嬩簲");
		l4.add("鏇规搷");
		System.out.println(l1.indexOf("鐜嬩簲"));

		// 6. 寰楀埌瀛愬垪琛�
//		List<E> subList(int fromIndex, int toIndex) 
//        杩斿洖鍒楄〃涓寚瀹氱殑 fromIndex锛堝寘鎷� 锛夊拰 toIndex锛堜笉鍖呮嫭锛変箣闂寸殑閮ㄥ垎瑙嗗浘銆� 		
		List<String> l6 = new ArrayList<>();
		l6.add("寮犱笁");
		l6.add("鏉庡洓");
		l6.add("鐜嬩簲");
		l6.add("鏇规搷");
		l6.add("鍏崇窘");
		l6.add("寮犻");
		l6.add("鍒樺");
		List<String> l7 = l6.subList(3, 3 + 3);
		System.out.println(l7);

	}
}
